#include "spu.h"
#include<semaphore.h>

sem_t sem;  //定义全局信号量

void *thread01(void *arg)
{
    for(;;)
    {
        sleep(1);
        //设置信号量
        sem_post(&sem);
    }
}

void *thread02(void *arg)
{
    for(;;)
    {
        //等待信号量，等到后自动将信号量-1
        if(0 == sem_wait(&sem))
        {
            printf("wait sem success\n");
        }

    }
}

int main()
{
    pthread_t tid1, tid2;
    int err;

    sem_init(&sem, 1, 0);  //第二个参数1，表示所有线程共享信号量，为0反之

    pthread_create(&tid1, NULL, thread01, NULL);
    pthread_create(&tid2, NULL, thread02, NULL);

    pthread_exit(NULL);
}
